package com.jxpanda.spring.module.auth.core.authentication.strategy;

import com.jxpanda.spring.module.auth.core.OAuth2Strategy;
import com.jxpanda.spring.module.auth.core.authentication.token.CollaborativeAuthenticationToken;
import com.jxpanda.spring.module.auth.core.authentication.token.UserDetailsAuthenticationToken;
import org.springframework.security.core.userdetails.UserDetails;
import reactor.core.publisher.Mono;

public interface CollaborativeReactiveAuthenticationStrategy extends OAuth2Strategy {

    <U extends UserDetails> Mono<UserDetailsAuthenticationToken<U>> resolve(CollaborativeAuthenticationToken collaborativeAuthenticationToken);

}
